//007. 第 10001 个质数
//列出前六个质数，我们可以发现第六个质数为 13，那么第 10001 个质数是多少？
//答案：104743

public class week007 {
    //这个要快一点
//    public static boolean isPrime(int n) {
//        if (n <= 3) return n > 1;
//        if (n % 6 != 1 && n % 6 != 5) return false;
//        int n_s = (int) Math.sqrt((double) (n));
//        for (int i = 5; i <= n_s; i += 6)
//            if (n % i == 0 || n % (i + 2) == 0) return false;
//        return true;
//    }

    //这个要慢一点
    public static boolean isPrime(int n) {
        if (n < 2) return false;
        int end = (int) Math.sqrt(n);
        for (int i = 2; i <= end; ++i)
            if (n % i == 0) return false;
        return true;
    }

    public static void main(String[] args) {
        int n = 10001;
        int cnt = 0, cur = 1;
        while (cnt < n) if (isPrime(++cur)) ++cnt;
        System.out.println(cur);
    }
}
